The Moving Picture Experts Group (MPEG) created the ISO/IEC international Standards 11172 and 13818 (generally referred to as MPEG-1 and MPEG-2 format respectively) to establish a standard for coding/decoding strategies. Although these MPEG standards specify a general coding methodology and syntax for generating an MPEG compliant bitstream, many variations are permitted to accommodate a plurality of different applications and services such as desktop video publishing, video conferencing, digital storage media and television broadcast. A related video encoding standard is the "Draft ITU-T Recommendation H.263: Video Coding for Low Bitrate Communication" (December 1995), which has been promulgated by the International Telecommunications Union. The above standards are herein incorporated by reference in their respective entireties.
MPEG-like encoder algorithms depend upon on creating an estimate of an image to be compressed, and subtracting from the image to be compressed the pixel values of the estimate or prediction. If the estimate is good, the subtraction will leave a very small residue to be transmitted. If the estimate is not close to zero for some pixels or many pixels, those differences represent information that needs to be transmitted so a decoder can reconstruct the image correctly. The kinds of image sequences that cause large prediction differences include severe motion and/or sharp details.
MPEG-like video coding systems use motion compensated prediction as part of the data compression process. Thus macroblocks in the current frame of interest are predicted by macroblock-sized regions in previously transmitted frames. Motion compensation refers to the fact that the locations of the macroblock-sized regions in the reference frame can be offset to account for local motions. The macroblock offsets are known as motion vectors.
The various standards do not specify how encoders should determine motion vectors. It is, therefore, the task of the encoder designer to implement a motion estimation and motion compensation process. Currently, motion estimation and motion compensation implementations utilize luminance information from an input video signal. This is largely a matter of convenience and practicality, since the luminance (Y) signal is higher in bandwidth than color difference signals (U and V), thereby containing more accurate edge information and allowing good motion estimation to be made. Since motion estimation is the most computation intensive (and thus costly) part of a video compression encoder, the use of the luminance signal alone is the traditional motion estimation approach in such encoders.
Unfortunately, compression encoders implementing luminance signal motion estimation and compensation typically exhibit artifacts in areas of low luminance energy, such as deep blacks, or highly saturated reds and blues. In these instances of low luminance signal energy, motion vector information computed using the luminance signal tends to be inaccurate. The effect of this inaccuracy propagates to an end user's decoder and display device, producing visual artifacts such as a "wormy" image, which can be very annoying.
Therefore, a need exists in the art for a high quality encoding apparatus and method that eliminates the above-described artifacts by performing a more thorough motion estimation computation.